<?php namespace Admin\Controller; 

use Hdphp\Controller\Controller;
//后台首页控制器
class GoodsController extends CommonController{
	
		private $db;
		
		public function __init(){
			parent::__init();
			$this->db=new \Common\Model\Goods;
		}
		public function index(){
//		$a=$this->dbga;
//		p($a);die;
		
//		echo 2;die;
//							join(关联的表名,第一个表的关联外键id,'=',第二个表的关联id)
//			$a=$this->dbr;
//			var_dump($a);die;			
//		$data=$this->dbr->join('goods','cate_cid','=','cid')->get();
		$date=Db::table('goods')->join('cate','cid','=','cate_cid')->get();
		
	
		View::with('date',$date);
	
		View::make();
	}
		
	
		
		public function add(){
			if(IS_POST){
//				p($_POST);die;
				$result=$this->db->store();
				if(!$result){
					View::error($this->db->getError());
				}
				View::success('添加成功',U('index'));
			}
//				echo 'add';die;
//			获取分类数据
			$cateData=Db::table('cate')->get();
			$cateData=Data::tree($cateData,'cname');
//			p($cateData);die;
			View::with('cateData',$cateData);
			
//			分配品牌		
			$brandData=Db::table('brand')->get();
			View::with('brandData',$brandData);
			View::make();
		}
		
		
		public function getTypeAttr(){
//			echo 'ok';die;
//			var_dump($_POST['tid']);die;
			$tid=Q('post.tid',0,'intval');
//			查询对应的类型属性表数据
			$data=Db::table('type_attr')->where('type_tid',$tid)->get();
//			p($data);die;
//			将得到的 tavalue字符串转换为数组格式
			foreach($data as $k=>$v){
				$data[$k]['tavalue']=explode('|', $v['tavalue']);
			}
//			p($data);die;
//			将得到的数据返回到js
			View::ajax($data);die;
		}
		
		public function upload(){
			$file = Upload::path('Upload/Content/' . date('y/m'))->make();
		    if (empty($file)) {
		        $this->ajax(Upload::getError());
		    } else {
		        /** $file内部就是以下这个数组
		            $file = array(
		                0 => array(
		                'path' => 'Upload/Content/15/8/123981239172.jpg'    ,
		                'url' => 'http://localhost/cms_edu/Upload/Content/15/8/123981239172.jpg',
		                'image' => 1
		            ),
		        );**/
		        //上传成功，把上传好的信息返给js
		        $data = $file[0];
		        echo json_encode($data);exit;
//				View::ajax($data);die;
		    }
		}
		
		
		
		
//		编辑
		public function edit(){
			if(IS_POST){
//				p($_POST);die;
				$result=$this->db->edit();
				if(!$result){
					View::error($this->db->getError());
				}
				View::success('编辑成功',U('index'));
			}
			
//			var_dump($_GET);die;
			$gid=Q('get.gid',0,'intval');
//			var_dump($gid);die;
//			获取商品数据，需要商品表商品详细表关联，注意，是一对一关系，直接关联
			$oldData=Db::table('goods gs')
			->join('detail d','gs.gid','=','d.gid')
			->where('gs.gid',$gid)
			->first();
			$oldData['photo']=explode(',', $oldData['photo']);
//			p($oldData);die;
			View::with('oldData',$oldData);
			
			
//			通过已经选择的类型id查询所有的类型属性数据
			$tid=Db::table('goods')->where('gid',$gid)->pluck('type_tid');
//			var_dump($tid);die;
//			获取属性//所有属性
			$attrData=Db::table('type_attr')->where('type_tid',$tid)->where('class',0)->get();
			foreach($attrData as $k=>$v){
				$attrData[$k]['tavalue']=explode('|', $v['tavalue']);
			}
			View::with('attrData',$attrData);
//			p($attrData);die;
//			获取当前商品已经选中的属性数据
			$oldAttr=Db::table('goods_attr ga')
			->join('type_attr ta','ga.taid','=','ta.taid')
			->where('gid',$gid)
			->where('class',0)
			->lists('gtvalue');
			View::with('oldAttr',$oldAttr);
//			p($oldAttr);die;	
//			------商品属性数据处理结束

//			处理商品规格,,当前已经选中的商品规格
//			注意有选择一个规格，就有一个selected
			$oldSpec=Db::table('goods_attr ga')
			->join('type_attr ta','ga.taid','=','ta.taid')
			->where('gid',$gid)
			->where('class',1)
			->get();
			
			foreach($oldSpec as $k=>$v){
				$oldSpec[$k]['tavalue']=explode('|', $v['tavalue']);
			}
			View::with('oldSpec',$oldSpec);
//			p($oldSpec);die;

//			获取分类数据
			$cateData=Db::table('cate')->get();
			$cateData=Data::tree($cateData,'cname');
//			p($cateData);die;
			View::with('cateData',$cateData);
			
//			分配品牌		
			$brandData=Db::table('brand')->get();
			View::with('brandData',$brandData);
			
			View::make();
		}
		

		public function del(){
//			echo 2;die;
			$gid=Q('get.gid',0,'intval');
			
			$goodsAttrModel=new \Common\Model\Goods_attr;
			$goodsAttrModel->where('gid',$gid)->delete();
			

			$goodsModel=new \Common\Model\Goods;
			$goodsModel->where('gid',$gid)->delete();
			
			$detailModel=new \Common\Model\Detail;
			$detailModel->where('gid',$gid)->delete();
//	
			
			View::success('删除成功',U('Goods/index'));
		}
	
}
